<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta name="generator" content="smart-doc">
        <%if(isNotEmpty(projectName)){%><title>${projectName}</title><%}else{%><title>API Reference</title><%}%>
        <link rel="stylesheet"
              href="${css_cdn}/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
        <link rel="stylesheet" href="AllInOne.css?v=${version}"/>
        <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/highlight.js/10.3.2/styles/${style}.min.css">
        <style>.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint {
            background: ${background}
        }

        .hljs {
            padding: 0
        }</style>
        <script src="https://cdn.bootcdn.net/ajax/libs/highlight.js/10.3.2/highlight.min.js"></script>
        <script src="https://cdn.bootcss.com/jquery/2.2.4/jquery.min.js"></script>
    </head>
    <body class="book toc2 toc-left">
        <div id="header"><%if(isNotEmpty(projectName)){%><h1>${projectName}</h1><%}%>
            <div id="toc" class="toc2">
                <div id="book-search-input"><input id="search" type="text" placeholder="Type to search"></div>
                <div id="toctitle"><span>API Reference</span></div>
                <ul id="accordion" class="sectlevel1"><%for(apiGroup in apiDocList){%><%if(apiGroupLP.first){%>
                    <li class="open"><a class="dd" href="#_${apiGroup.group}"> ${apiGroup.order}.&nbsp;${htmlEscape(apiGroup.group)}</a>
                        <ul class="sectlevel1"><%for(api in apiGroup.childrenApiDocs){%>
                            <li class="open"><a class="dd" href="#_${api.desc}"> ${api.order}.&nbsp;${htmlEscape(api.desc)}</a>
                                <ul class="sectlevel2" style="display: block"><%for(doc in api.list){%>
                                    <li><%if(doc.deprecated){%><a href="#_${api.order}_${doc.order}_${doc.desc}">${api.order}.${doc.order}.&nbsp;<span
                                            class="line-through">${htmlEscape(doc.desc)}</span></a><%}else{%><a
                                            href="#_${api.order}_${doc.order}_${doc.desc}"> ${api.order}.${doc.order}.&nbsp;${htmlEscape(doc.desc)}</a><%}%>
                                    </li>
                                    <%}%>
                                </ul>
                            </li>
                            <%}%>
                        </ul>
                    </li>
                    <%}else{%>
                    <li><a class="dd" href="#_${apiGroup.group}"> ${apiGroup.order}.&nbsp;${htmlEscape(apiGroup.group)}</a>
                        <ul class="sectlevel1"><%for(api in apiGroup.childrenApiDocs){%>
                            <li class="open"><a class="dd" href="#_${api.desc}"> ${api.order}.&nbsp;${htmlEscape(api.desc)}</a>
                                <ul class="sectlevel2"><%for(doc in api.list){%>
                                    <li><%if(doc.deprecated){%><a href="#_${api.order}_${doc.order}_${doc.desc}">${api.order}.${doc.order}.&nbsp;<span
                                            class="line-through">${htmlEscape(doc.desc)}</span></a><%}else{%><a
                                            href="#_${api.order}_${doc.order}_${doc.desc}"> ${api.order}.${doc.order}.&nbsp;${htmlEscape(doc.desc)}</a><%}%>
                                    </li>
                                    <%}%>
                                </ul>
                            </li>
                            <%}%>
                        </ul>
                    </li>
                    <%}%><%}%><%if(isNotEmpty(errorCodeList)){%>
                    <li><a href="#_error_code_list"> ${apiDocList.~size+1}.&nbsp;${errorListTitle}</a></li>
                    <%}%><%if(isNotEmpty(dictList)){%>
                    <li><a class="dd" href="#_dict_list"> ${dictListOrder}.&nbsp;${dictListTitle}</a>
                        <ul class="sectlevel2"><%for(dict in dictList){%>
                            <li><a href="#_${dictListOrder}_${dict.order}_${dict.title}">
                                ${dictListOrder}.${dict.order}.&nbsp;${dict.title}</a></li>
                            <%}%>
                        </ul>
                    </li>
                    <%}%>
                </ul>
            </div>
        </div>
        <div id="content"><%if(isNotEmpty(revisionLogList)){%>
            <div id="preamble">
                <div class="sectionbody">
                    <table class="tableblock frame-all grid-all spread">
                        <colgroup>
                            <col style="width: 20%;">
                            <col style="width: 20%;">
                            <col style="width: 20%;">
                            <col style="width: 20%;">
                            <col style="width: 20%;">
                        </colgroup>
                        <thead>
                        <tr>
                            <th class="tableblock halign-left valign-top">Version</th>
                            <th class="tableblock halign-left valign-top">Update Time</th>
                            <th class="tableblock halign-left valign-top">Status</th>
                            <th class="tableblock halign-left valign-top">Author</th>
                            <th class="tableblock halign-left valign-top">Description</th>
                        </tr>
                        </thead>
                        <tbody><%for(revisionLog in revisionLogList){%>
                        <tr>
                            <td class="tableblock halign-left valign-top"><p class="tableblock">
                                ${revisionLog.version}</p></td>
                            <td class="tableblock halign-left valign-top"><p class="tableblock">
                                ${revisionLog.revisionTime}</p></td>
                            <td class="tableblock halign-left valign-top"><p class="tableblock">
                                ${revisionLog.status}</p></td>
                            <td class="tableblock halign-left valign-top"><p class="tableblock">
                                ${revisionLog.author}</p></td>
                            <td class="tableblock halign-left valign-top"><p class="tableblock">
                                ${revisionLog.remarks}</p></td>
                        </tr>
                        <%}%>
                        </tbody>
                    </table>
                </div>
            </div>
            <%}%>
            <%for(apiGroup in apiDocList){%>
            <%for(api in apiGroup.childrenApiDocs){%>
            <div class="sect1"><h2 id="_${api.desc}"><a class="anchor" href="#_${api.desc}"></a><a class="link"
                                                                                                   href="#_${api.desc}">${api.order}.&nbsp;${htmlEscape(api.desc)}</a>
            </h2>
                <div class="sectionbody"><%for(doc in api.list){%>
                    <div class="sect2" id="${doc.methodId}"><h3 id="_${api.order}_${doc.order}_${doc.desc}"><a
                            class="anchor" href="#_${api.order}_${doc.order}_${doc.desc}"></a><%if(doc.deprecated){%><a
                            class="link" href="#_${api.order}_${doc.order}_${doc.desc}">${api.order}.${doc.order}.&nbsp;<span
                            class="line-through">${htmlEscape(doc.desc)}</span></a><%}else{%><a class="link"
                                                                                                href="#_${api.order}_${doc.order}_${doc.desc}">${api.order}.${doc.order}.&nbsp;${htmlEscape(doc.desc)}</a><%}%>
                    </h3>
                        <div class="paragraph" id="${doc.methodId}-url" data-url="${doc.url}"
                             data-download="${doc.download}" data-page="${doc.page}"><p><strong>URL:</strong><a
                                href="${doc.url}" class="bare"> &nbsp;${doc.url}</a></p></div>
                        <div class="paragraph" id="${doc.methodId}-method" data-method="${doc.type}"><p>
                            <strong>Type:</strong>&nbsp;${doc.type}</p></div>
                        <%if(isNotEmpty(doc.author)){%>
                        <div class="paragraph"><p><strong>Author:</strong> &nbsp;${doc.author}</p></div>
                        <%}%>
                        <div class="paragraph" id="${doc.methodId}-content-type" data-content-type="${doc.contentType}">
                            <p><strong>Content-Type:</strong>&nbsp;${doc.contentType}</p></div>
                        <div class="paragraph"><p><strong>Description:</strong> &nbsp;${htmlEscape(doc.detail)}</p>
                        </div>
                        <%if(isNotEmpty(doc.requestHeaders)){%>
                        <div class="paragraph"><p><strong>Request-headers:</strong></p></div>
                        <table class="tableblock frame-all grid-all spread">
                            <colgroup>
                                <col style="width: 5%;">
                                <col style="width: 19%;">
                                <col style="width: 19%;">
                                <col style="width: 19%;">
                                <col style="width: 19%;">
                                <col style="width: 19%;">
                            </colgroup>
                            <thead>
                            <tr>
                                <th class="tableblock halign-left valign-top">
                                    <div class="checkbox"><input type="checkbox" class="check-all"
                                                                 id="${doc.methodId}-header-checkbox"
                                                                 name="${doc.methodId}-header-checkbox"
                                                                 checked="checked"><label
                                            for="${doc.methodId}-header-checkbox"></label></div>
                                </th>
                                <th class="tableblock halign-left valign-top">Header</th>
                                <th class="tableblock halign-left valign-top">Value</th>
                                <th class="tableblock halign-left valign-top">Type</th>
                                <th class="tableblock halign-left valign-top">Required</th>
                                <th class="tableblock halign-left valign-top">Description</th>
                            </tr>
                            </thead>
                            <tbody id="${doc.methodId}-header"><%for(header in doc.requestHeaders){%>
                            <tr>
                                <td class="tableblock halign-left valign-top">
                                    <div class="checkbox"><input type="checkbox"
                                                                 id="${doc.methodId}-header-${header.name}"
                                                                 name="${doc.methodId}-header-checkbox"
                                                                 checked="checked"><label
                                            for="${doc.methodId}-header-${header.name}"></label></div>
                                </td>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">${header.name}</p>
                                </td>
                                <td class="tableblock halign-left valign-top"><p class="tableblock"><input
                                        name="${header.name}" type="text" value="${header.value}"/></td>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">${header.type}</p>
                                </td>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">
                                    ${header.required}</p></td>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">
                                    ${htmlEscape(header.desc)}</p></td>
                            </tr>
                            <%}%>
                            </tbody>
                        </table>
                        <%}%><%if(isNotEmpty(doc.pathParams)){%>
                        <div class="paragraph"><p><strong>Path-parameters:</strong></p></div>
                        <table class="tableblock frame-all grid-all spread">
                            <colgroup>
                                <col style="width: 5%;">
                                <col style="width: 19%;">
                                <col style="width: 19%;">
                                <col style="width: 19%;">
                                <col style="width: 19%;">
                                <col style="width: 19%;">
                            </colgroup>
                            <thead>
                            <tr>
                                <th class="tableblock halign-left valign-top">
                                    <div class='checkbox'><input type="checkbox" class="check-all"
                                                                 id="${doc.methodId}-path-checkbox"
                                                                 name="${doc.methodId}-path-checkbox" checked="checked"><label
                                            for='${doc.methodId}-path-checkbox'></label></div>
                                </th>
                                <th class="tableblock halign-left valign-top">Parameter</th>
                                <th class="tableblock halign-left valign-top"> Value</th>
                                <th class="tableblock halign-left valign-top">Type</th>
                                <th class="tableblock halign-left valign-top">Required</th>
                                <th class="tableblock halign-left valign-top">Description</th>
                            </tr>
                            </thead>
                            <tbody id="${doc.methodId}-path-params"><%for(param in doc.pathParams){%>
                            <tr>
                                <td class="tableblock halign-left valign-top">
                                    <div class="checkbox"><input type="checkbox"
                                                                 id="${doc.methodId}-path-${param.field}"
                                                                 checked="checked" name="${doc.methodId}-path-checkbox"><label
                                            for="${doc.methodId}-path-${param.field}"></label></div>
                                </td>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">${param.field}</p>
                                </td>
                                <td class="tableblock halign-left valign-top"><p class="tableblock"><input
                                        name="${param.field}" type="text" value="${param.value}"/></p></td>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">${param.type}</p>
                                </td>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">
                                    ${param.required}</p></td>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">
                                    ${htmlEscape(param.desc)}</p></td>
                            </tr>
                            <%}%>
                            </tbody>
                        </table>
                        <%}%><%if(isNotEmpty(doc.queryParams)){%>
                        <div class="paragraph"><p><strong>Query-parameters:</strong></p></div>
                        <table class="tableblock frame-all grid-all spread">
                            <colgroup>
                                <col style="width: 5%;">
                                <col style="width: 19%;">
                                <col style="width: 19%;">
                                <col style="width: 19%;">
                                <col style="width: 19%;">
                                <col style="width: 19%;">
                            </colgroup>
                            <thead>
                            <tr>
                                <th class="tableblock halign-left valign-top">
                                    <div class='checkbox'><input type="checkbox" class="check-all"
                                                                 id="${doc.methodId}-query-checkbox" checked="checked"
                                                                 name="${doc.methodId}-query-checkbox"><label
                                            for="${doc.methodId}-query-checkbox"></label></div>
                                </th>
                                <th class="tableblock halign-left valign-top">Parameter</th>
                                <th class="tableblock halign-left valign-top">Value</th>
                                <th class="tableblock halign-left valign-top">Type</th>
                                <th class="tableblock halign-left valign-top">Required</th>
                                <th class="tableblock halign-left valign-top">Description</th>
                            </tr>
                            </thead>
                            <tbody id="${doc.methodId}-query-params"><%for(param in doc.queryParams){%>
                            <tr>
                                <td class="tableblock halign-left valign-top">
                                    <div class='checkbox'><input type="checkbox"
                                                                 id="${doc.methodId}-query-${param.field}"
                                                                 checked="checked"
                                                                 name="${doc.methodId}-query-checkbox"><label
                                            for="${doc.methodId}-query-${param.field}"></label></div>
                                </td>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">${param.field}</p>
                                </td>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">
                                    <%if(param.type=="file"){%><input name="${param.field}" type="file"
                                                                      value="${param.value}"/><%}else{%><input
                                        name="${param.field}" type="text" value="${param.value}"/><%}%></p></td>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">${param.type}</p>
                                </td>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">
                                    ${param.required}</p></td>
                                <%if(param.version !='-' ){%>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">
                                    ${htmlEscape(param.desc)}@since ${param.version}</p></td>
                                <%}else{%>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">
                                    ${htmlEscape(param.desc)}</p></td>
                                <%}%>
                            </tr>
                            <%}%>
                            </tbody>
                        </table>
                        <%}%><%if(isNotEmpty(doc.requestParams)){%>
                        <div class="paragraph"><p><strong>Body-parameters:</strong></p></div>
                        <table class="tableblock frame-all grid-all spread">
                            <colgroup>
                                <col style="width: 20%;">
                                <col style="width: 20%;">
                                <col style="width: 20%;">
                                <col style="width: 20%;">
                            </colgroup>
                            <thead>
                            <tr>
                                <th class="tableblock halign-left valign-top">Parameter</th>
                                <th class="tableblock halign-left valign-top">Type</th>
                                <th class="tableblock halign-left valign-top">Required</th>
                                <th class="tableblock halign-left valign-top">Description</th>
                            </tr>
                            </thead>
                            <tbody><%for(param in doc.requestParams){%>
                            <tr>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">${param.field}</p>
                                </td>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">${param.type}</p>
                                </td>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">
                                    ${param.required}</p></td>
                                <%if(param.version !='-' ){%>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">
                                    ${htmlEscape(param.desc)}@since ${param.version}</p></td>
                                <%}else{%>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">
                                    ${htmlEscape(param.desc)}</p></td>
                                <%}%>
                            </tr>
                            <%}%>
                            </tbody>
                        </table>
                        <%}%><%if(isNotEmpty(doc.requestExample.jsonBody)&&isRequestExample){%>
                        <div class="paragraph"><p><strong>Request-body:</strong></p></div>
                        <div class="listingblock">
                            <div class="content">
                                <pre><code contenteditable="plaintext-only" id="${doc.methodId}-body">${doc.requestExample.jsonBody}</code></pre>
                            </div>
                        </div>
                        <%}%><%if(isNotEmpty(doc.responseParams)){%>
                        <div class="paragraph"><p><strong>Response-fields:</strong></p></div>
                        <table class="tableblock frame-all grid-all spread">
                            <colgroup>
                                <col style="width: 25%;">
                                <col style="width: 25%;">
                                <col style="width: 25%;">
                                <col style="width: 25%;">
                            </colgroup>
                            <thead>
                            <tr>
                                <th class="tableblock halign-left valign-top">Field</th>
                                <th class="tableblock halign-left valign-top">Type</th>
                                <th class="tableblock halign-left valign-top">Description</th>
                                <th class="tableblock halign-left valign-top">Since</th>
                            </tr>
                            </thead>
                            <tbody><%for(param in doc.responseParams){%>
                            <tr>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">${param.field}</p>
                                </td>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">${param.type}</p>
                                </td>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">
                                    ${htmlEscape(param.desc)}</p></td>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">${param.version}</p>
                                </td>
                            </tr>
                            <%}%>
                            </tbody>
                        </table>
                        <%}%>
                        <div class="paragraph">
                            <p><strong>
                                <button class="send-button" data-id="${doc.methodId}">Send Request</button>
                            </strong><span id="${doc.methodId}-resp-status"></span></p>
                        </div>
                        <%if(isNotEmpty(doc.responseUsage)&&isResponseExample){%>
                        <div class="paragraph"><p><strong>Response-example:</strong></p></div>
                        <div class="listingblock">
                            <div class="content" id="${doc.methodId}-response">
                                <pre><code class="json">${doc.responseUsage}</code></pre>
                            </div>
                        </div>
                        <%}%><%if(isNotEmpty(doc.requestUsage)&&isRequestExample){%>
                        <div class="paragraph"><p><strong>Curl-example:</strong></p></div>
                        <div class="listingblock">
                            <div class="content" id="${doc.methodId}-curl">
                                <pre><code class="bash">${doc.requestUsage}</code></pre>
                            </div>
                        </div>
                        <%}%>
                    </div>
                    <%}%>
                </div>
            </div>
            <%}%>
            <%}%>
            <%if(isNotEmpty(errorCodeList)){%>
            <div class="sect1"><h2 id="_error_code_list"><a class="anchor" href="#_error_code_list"></a><a class="link"
                                                                                                           href="#_error_code_list">${apiDocList.~size+1}.&nbsp;${errorListTitle}</a>
            </h2>
                <div class="sectionbody">
                    <table class="tableblock frame-all grid-all spread">
                        <colgroup>
                            <col style="width: 50%;">
                            <col style="width: 50%;">
                        </colgroup>
                        <thead>
                        <tr>
                            <th class="tableblock halign-left valign-top">Error code</th>
                            <th class="tableblock halign-left valign-top">Description</th>
                        </tr>
                        </thead>
                        <tbody><%for(error in errorCodeList){%>
                        <tr>
                            <td class="tableblock halign-left valign-top"><p class="tableblock">${error.value}</p></td>
                            <td class="tableblock halign-left valign-top"><p class="tableblock">
                                ${htmlEscape(error.desc)}</p></td>
                        </tr>
                        <%}%>
                        </tbody>
                    </table>
                </div>
            </div>
            <%}%><%if(isNotEmpty(dictList)){%>
            <div class="sect1"><h2 id="_dict_list"><a class="anchor" href="#_dict_list"></a><a class="link"
                                                                                               href="#_dict_list">${dictListOrder}.&nbsp;${dictListTitle}</a>
            </h2>
                <div class="sectionbody"><%for(dict in dictList){%>
                    <div class="sect2"><h3 id="_${dictListOrder}_${dict.order}_${dict.title}"><a class="anchor"
                                                                                                 href="#_${dictListOrder}_${dict.order}_${dict.title}"></a><a
                            class="link" href="#_${dictListOrder}_${dict.order}_${dict.title}">
                        ${dictListOrder}.${dict.order}.&nbsp;${htmlEscape(dict.title)}</a></h3>
                        <table class="tableblock frame-all grid-all spread">
                            <colgroup>
                                <col style="width: 33%;">
                                <col style="width: 33%;">
                                <col style="width: 33%;">
                            </colgroup>
                            <thead>
                            <tr>
                                <th class="tableblock halign-left valign-top">Code</th>
                                <th class="tableblock halign-left valign-top">Type</th>
                                <th class="tableblock halign-left valign-top">Description</th>
                            </tr>
                            </thead>
                            <tbody><%for(dataDict in dict.dataDictList){%>
                            <tr>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">
                                    ${dataDict.value}</p></td>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">${dataDict.type}</p>
                                </td>
                                <td class="tableblock halign-left valign-top"><p class="tableblock">
                                    ${htmlEscape(dataDict.desc)}</p></td>
                            </tr>
                            <%}%>
                            </tbody>
                        </table>
                    </div>
                    <%}%>
                </div>
            </div>
            <%}%>
            <footer class="page-footer"><span class="copyright">Generated by smart-doc at ${createTime}</span><span
                    class="footer-modification">Suggestions,contact,support and error reporting on<a
                    href="https://gitee.com/smart-doc-team/smart-doc" target="_blank">&nbsp;Gitee</a>&nbsp;or<a
                    href="https://github.com/smart-doc-group/smart-doc.git" target="_blank">&nbsp;Github</a></span>
            </footer>
            <div href="javascript:void(0)" id="toTop"><img id="upArrow"
                                                           src=""><span
                    id="upText">Top</span></div>
        </div>
        <script src="debug.js?v=${version}"></script>
        <script src="search.js?v=${version}"></script>
        <script>
            $(function () {
                // back top
                $(window).scroll(function () {
                    if ($(window).scrollTop() > 100) {
                        $("#toTop").fadeIn(1500);
                        $("#toTop").hover(function () {
                            $("#upArrow").hide();
                            $("#upText").show();
                        }, function () {
                            $("#upArrow").show();
                            $("#upText").hide();
                        })
                    } else {
                        $("#toTop").fadeOut(1500)
                    }
                });
                // Click and to top
                $("#toTop").click(function () {
                    $("body, html").animate({scrollTop: 0}, 1000);
                    return false
                })
            });
        </script>
    </body>

</html>